It has become common practice for many current day application programs to incorporate a graphical user interface (GUI) component to provide an easier and more intuitive form of interaction with users. However, just as various specialized application programming interfaces (APIs) must be learned and used to write code that performs database operations, complex mathematical calculations, process control operations, coordination of distributed processing operations, etc., the writing of computer code to provide a GUI frequently requires learning and using a dedicated GUI programming interface. Thus, providing the ability to design and incorporate a GUI into an application program without requiring such particular skills has become desirable.
It has become common practice to employ relatively large scale distributed processing to perform complex calculations with large data sets in a manner in which data sets are broken up into smaller portions that are distributed among many computing devices and/or processing cores. However, the work of writing computer code of an analysis routine in a manner that is tailored for such distributed processing requires particular programming skills that are not widely shared. Further, many analysis routines are generated as part of the content of a spreadsheet data structure in which data may be provided therein within one or more data tables, and the analysis to be performed is specified as a set of formulae within one or more formula tables. Such a manner of representing an analysis routine is intended to be very user friendly to users who lack programming skills. Thus, providing the ability to convert such a data structure into a set of objects that better accommodate the use of complex distributed processing has become desirable.
Distributed development of task routines and the performance of analysis tasks using pooled task routines with pooled data has advanced to an extent that the addition of mechanisms for organization of development and to provide oversight for reproducibility and accountability have become increasingly desired. In various scientific, technical and other areas, the quantities of data employed in performing analysis tasks have become ever larger, thereby making desirable the pooling of data objects to enable collaboration, share costs and/or improve access. Also, such large quantities of data, by virtue of the amount and detail of the information they contain, have become of such value that it has become desirable to find as many uses as possible for such data in peer reviewing and in as wide a variety of analysis tasks. Thus, the pooling of components of analysis routines to enable reuse, oversight and error checking has also become desirable.